﻿<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:tns="http://tempuri.org/" elementFormDefault="qualified" targetNamespace="http://tempuri.org/" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:import namespace="http://schemas.datacontract.org/2004/07/DispatcherLibrary" />
  <xs:element name="Autorization">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="name" nillable="true" type="xs:string" />
        <xs:element minOccurs="0" name="passwrod" nillable="true" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="AutorizationResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q1="http://schemas.datacontract.org/2004/07/DispatcherLibrary" minOccurs="0" name="AutorizationResult" nillable="true" type="q1:ReturnInformation" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="GetCurrentGames">
    <xs:complexType>
      <xs:sequence />
    </xs:complexType>
  </xs:element>
  <xs:element name="GetCurrentGamesResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q2="http://schemas.datacontract.org/2004/07/DispatcherLibrary" minOccurs="0" name="GetCurrentGamesResult" nillable="true" type="q2:Games" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="GetAllUsers">
    <xs:complexType>
      <xs:sequence />
    </xs:complexType>
  </xs:element>
  <xs:element name="GetAllUsersResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q3="http://schemas.datacontract.org/2004/07/DispatcherLibrary" minOccurs="0" name="GetAllUsersResult" nillable="true" type="q3:Users" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="CreateGame">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="gameName" nillable="true" type="xs:string" />
        <xs:element minOccurs="0" name="user1Name" nillable="true" type="xs:string" />
        <xs:element minOccurs="0" name="user2Name" nillable="true" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="CreateGameResponse">
    <xs:complexType>
      <xs:sequence />
    </xs:complexType>
  </xs:element>
  <xs:element name="SpectateGame">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="gameName" nillable="true" type="xs:string" />
        <xs:element minOccurs="0" name="userName" nillable="true" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="SpectateGameResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q4="http://schemas.datacontract.org/2004/07/DispatcherLibrary" minOccurs="0" name="SpectateGameResult" nillable="true" type="q4:ReturnInformation" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="Subscribe">
    <xs:complexType>
      <xs:sequence />
    </xs:complexType>
  </xs:element>
  <xs:element name="Unsubscribe">
    <xs:complexType>
      <xs:sequence />
    </xs:complexType>
  </xs:element>
  <xs:element name="SendMessage">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="msg" nillable="true" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="JoinLobby">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="userName" nillable="true" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="LeaveLobby">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="userName" nillable="true" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="InviteToGame">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="userName" nillable="true" type="xs:string" />
        <xs:element minOccurs="0" name="invitedUserName" nillable="true" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="InviteToGameResponse">
    <xs:complexType>
      <xs:sequence />
    </xs:complexType>
  </xs:element>
  <xs:element name="RegisterServer">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="serverAddress" nillable="true" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="UnregisterServer">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="serverAddress" nillable="true" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="ReceivedMessage">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="msg" nillable="true" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="UserJoined">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="userName" nillable="true" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="UserLeft">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="userName" nillable="true" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="Invited">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="userName" nillable="true" type="xs:string" />
        <xs:element minOccurs="0" name="invitedUserGame" nillable="true" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="InviteAccepted">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q5="http://schemas.datacontract.org/2004/07/DispatcherLibrary" minOccurs="0" name="gameInfo" nillable="true" type="q5:GameInfo" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
</xs:schema>